﻿/////////////////////////////////////////////////////////////////////////////////
///              ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO                   ///
///                        PROYECTO INTEGRADOR IV                             /// 
///                         PROYECTO SICOPS 2011                              /// 
/// ------------------------------------------------------------------------- ///  
///              **********GRUPO DE DESARROLLADORES**********                 ///
///                    ************PEGASO*************                        /// 
///---------------------------------------------------------------------------///
///                                                         RIOBAMBA-ECUADOR  ///
///---------------------------------------------------------------------------///
///          CLASE DE ADMINISTRACION DE LA TABLA REGISTRO SERVICIOS           ///
/////////////////////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using System.Data.Common;
using System.Drawing;
//Clses de administracion para el registro de servicios
namespace LogisticaDeAcceso.ClasesDeAcceso
{
    public class clsRegistroServicios
    {
        private SqlCommand SqlProSeleccionar;
        private SqlConnection SqlProConexion;
        private SqlDataAdapter SqlProAdaptador;

        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Presentacion de servicios registrados
        public void metConfiguraMostrarRegistroSer(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarRegistroServicios.*\r\nFROM         vs_MostrarRegistroServicio" +
                "s";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
       
        }
        //Ejecutar la configuracion para mostrar registros
        public void metActivarMostrarRegistroSer(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarRegistroServicios);
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Retorno del numero de registros
        public int metNumeroFilasDE(ColeccionDeDatos Col)
        {
            DataTable Ta = Col.vs_MostrarRegistroServicios;
            DataRowCollection Val = Ta.Rows;
            return Val.Count;
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Configuracion de registros 
        public void metConfiguracionIngresaRegSer(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();

            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_IngresarRegistroServicios";
            this.SqlProSeleccionar.CommandType = System.Data.CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new System.Data.SqlClient.SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@CodigoRS", SqlDbType.VarChar, 10),
            new SqlParameter("@CodServ", SqlDbType.VarChar, 10),
            new SqlParameter("@NumPed", SqlDbType.Int, 4),
            new SqlParameter("@Obser", SqlDbType.VarChar, 100),
            new SqlParameter("@Est", SqlDbType.VarChar, 30)});
            // 
         
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion del ingreso de registros
        public void metActivarIngresarRegSer(string CodigoRS, string CodServ, string NumPed, string Obser, string Est)
        {
            SqlProAdaptador.SelectCommand.Parameters["@CodigoRS"].Value = CodigoRS;
            SqlProAdaptador.SelectCommand.Parameters["@CodServ"].Value = CodServ;
            SqlProAdaptador.SelectCommand.Parameters["@NumPed"].Value = Convert.ToInt32(NumPed.ToString());
            SqlProAdaptador.SelectCommand.Parameters["@Obser"].Value = Obser;
            SqlProAdaptador.SelectCommand.Parameters["@Est"].Value = Est;
            SqlProConexion.Open();
            try//Muestra el mensaje que esta en el procedimiento almacenado
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
            {
                MessageBox.Show(auxMensaje.Message);
            }
            SqlProConexion.Close();
        }
      
        /// /////////////////////////////////////////////////////////////////////////////////////////
        //Configuracion para la actualizacion de estados
        public void metActualizarEstadoSer(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActualizarRegistroServicio";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 20)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Activar los cambios de estados de registros
        public void metActivarActualizarEstadoServ(string Cod)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Cod;
            SqlProConexion.Open();
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            SqlProConexion.Close();
        }
    }
}
